package org.snake.spring.framework.beans;

/**
 * Bean的包装类
 */
public class RAYBeanWrapper
{

    /**
     * 保存类的实例对象
     */
    private Object wrapperInstance;

    /**
     * 不管是代理还是原生对象，保存Class这个信息类，以方便出现问题时，可以通过反射来重新获取类的所有信息
     */
    private Class<?> wrapperClass;

    /**
     * 构造器
     *
     * @param instance 类的实例
     */
    public RAYBeanWrapper(Object instance)
    {

        this.wrapperInstance = instance;

        this.wrapperClass = this.wrapperInstance.getClass();
    }

    // 这个类的属性只生成get方法，只能通过构造器去set初始值，不可以做更改

    public Object getWrapperInstance()
    {

        return wrapperInstance;
    }

    public Class<?> getWrapperClass()
    {

        return wrapperClass;
    }

}
